<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>fplot</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">fplot</h1>
<h2>Purpose</h2>
<p>Plot a single function over a convex set or over an array of convex sets.</p>
<h2>Syntax</h2>
<pre class="synopsis">h = Set.fplot()</pre>
<pre class="synopsis">h = Set.fplot('name', 'Prop1', value1, 'Prop2', value2)</pre>
<pre class="synopsis">h = fplot(Set, 'name', 'Prop1', value1, 'Prop2', value2)</pre>
<h2>Description</h2>
<p></p>
        Plot single function over a convex set. If there are more functions attached to a set, then the string <tt>name</tt> identifies
        the function to be plotted. 
        If the function is vector valued, i.e. its range is greater than 1, than the first element of the 
        function is plotted by default. For vector valued functions, use the <tt>position</tt> property to indicate that
        you want a different element of the function value to plot. 

        Figure properties, such as color, line width, etc, can be specified with "Property" - "Value" pairs. 
	<h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody>
<tr valign="top">
<td><tt>Set</tt></td>
<td>
<p></p>Any object derived from the <tt>ConvexSet</tt> class, e.g. <tt>Polyhedron</tt>, <tt>YSet</tt>, ...<p>
	    		Class: <tt>ConvexSet</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>name</tt></td>
<td>
<p></p>If there are more functions attached to the set, this string indicates the <tt>name</tt> of the function to plot.
        <p>
	    		Class: <tt>char</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>Prop1</tt></td>
<td>
<p></p>Specification of figure properties.<p>
	    		Class: <tt>char</tt><p>Allowed values:</p><ul>
<li>
<tt>position</tt><p></p>For vector valued functions, the <tt>position</tt> indicates which element of the function value to plot.</li>
<li>
<tt>Grid</tt><p></p>With how many gridpoints to grid the circle/sphere. Default is 20.</li>
<li>
<tt>Color</tt><p></p>The color of the plot specified by real RGB vector or a string name of the color (e.g. 'gray');</li>
<li>
<tt>Wire</tt><p></p>Highlight the edges of the set. Default is false.</li>
<li>
<tt>LineStyle</tt><p></p>Specify the type of the line to plot edges of the set. Accepted values are '-',':','-.','--', and'none'.</li>
<li>
<tt>LineWidth</tt><p></p>Specify the width of the line. Default is 1.</li>
<li>
<tt>Alpha</tt><p></p>Transparency of the color. The value must be inside [0,1] interval. Default is 1.</li>
<li>
<tt>Contour</tt><p></p>Add contour graph. Default is false.</li>
<li>
<tt>ContourGrid</tt><p></p>With how many grid points to plot the contour graph. Default is 30.</li>
<li>
<tt>show_set</tt><p></p>Plot the domain of the function. Default is false.</li>
<li>
<tt>showgrid</tt><p></p>Show the grid inside the set. Default is false.</li>
<li>
<tt>ColorMap</tt><p></p>Color map given either as a M-by-3 matrix, or as a string. Default is 'mpt'.
                                            Other available options are 'hsv', 'hot', 'gray', 'lightgray', 'bone', 'copper', 
                                            'pink', 'white', 'flag', 'lines', 'colorcube','vga', 'jet', 'prism', 'cool',
                                            'autumn', 'spring', 'winter', 'summer'.
                                            </li>
<li>
<tt>ColorOrder</tt><p></p>Either 'fixed' for fixed ordering of colors, or 'random' for a random order. Default is 'fixed'.</li>
</ul></p>
</td>
</tr>
<tr valign="top">
<td><tt>value1</tt></td>
<td>
<p></p>Assigns value to <tt>Prop1</tt>.</td>
</tr>
</tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>h</tt></td>
<td>
<p></p>Handle related to graphics object.<p>
	    		Class: <tt>handle</tt></p>
</td>
</tr></tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3> Plot one function over one dimensional set. The set is an interval [-1, 2]<pre class="programlisting"> P = Polyhedron('lb',-1,'ub',2); </pre>
<pre class="programlisting"></pre> Assign a quadratic function <img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot1.png"> under name "f" to the set <tt>P</tt> 
      <pre class="programlisting"> Q = QuadFunction(1,-1,3); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P.addFunction(Q,'f'); </pre>
<pre class="programlisting"></pre> Plot the function <pre class="programlisting"> P.fplot </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_1.png" width="60%"></p>
<h3>Example 
				2</h3> We have two linear functions "a", "b"  over a convex set. Construct the set first as the intersection of a circle and linear inequality <pre class="programlisting"> x = sdpvar(2,1); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> F = [0.5*x'*x&lt;=0.2; [-1, 0.6]*x&lt;=0.5]; </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S = YSet(x,F); </pre>
<pre class="programlisting"></pre> Construct quadratic and linear function.<pre class="programlisting"> Q = QuadFunction([1 -2;3 0.5],[-1,0], -1.4); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> L = AffFunction([2.6,-0.2], 0.7); </pre>
<pre class="programlisting"></pre> Add functions to the set with names "a" and "b". <pre class="programlisting"> S.addFunction(Q,'a'); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S.addFunction(L,'b'); </pre>
<pre class="programlisting"></pre> Plot the function "b" based on the function name <pre class="programlisting"> S.fplot('b'); </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_2.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_2.png" width="60%"></p>
<h3>Example 
				3</h3> We have three affine and vector valued functions over the set <tt>S</tt>.  Construct the set first as the intersection of a circle and linear inequality <pre class="programlisting"> x = sdpvar(2,1); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> F = [0.5*x'*x&lt;=0.2; [-3,0.4]*x&lt;=0.5]; </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S = YSet(x,F); </pre>
<pre class="programlisting"></pre> Construct three affine functions and put them in an array.<pre class="programlisting"> A1 = AffFunction([-0.4,0.9; -1, 0.3], [0.4; 0.7]); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> A2 = AffFunction([0.7,-0.1; -2, 0.7], [0.3; -0.1]); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> A3 = AffFunction([0.7,-0.1; -0.6 5], [0.3; 0.2]); </pre>
<pre class="programlisting"></pre> add these functions to the set <tt>S</tt> with some names <pre class="programlisting"> S.addFunction(A1, 'mon'); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S.addFunction(A2, 'wed'); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S.addFunction(A3, 'fri'); </pre>
<pre class="programlisting"></pre> Plot the second element of the function "fri" in gray color.<pre class="programlisting"> S.fplot('fri','position',2,'Color','gray') </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_3.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_3.png" width="60%"></p> Plot the second element of the function "mon" and the underlying domain with some transparency.<pre class="programlisting"> S.fplot('mon','position',2,'show_set',true,'alpha',0.6,'colororder','random') </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_4.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/fplot_img_4.png" width="60%"></p>
<h2>See Also</h2>
<a href="./plot.html">plot</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="grid.html" class="button">&#9664;</a>  </td>
<td align="left">grid</td>
<td>  </td>
<td align="right">vertcat</td>
<td align="right" width="20"><a href="vertcat.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
<p>©  <b>2003-2013</b>     Michal Kvasnica: STU Bratislava,    <a href="mailto:michal.kvasnica@stuba.sk">michal.kvasnica@stuba.sk</a></p>
</body>
</html>
